package proxy.jdkProxy;

import proxy.SellHouseOneService;
import proxy.SellHouseService;

import java.lang.reflect.Proxy;

/**
 * @Author quan
 * @Description 创建一个代理对象并使用
 * @Date 2023/7/27 17:42
 */
public class Main {
    public static void main(String[] args) {
        //创建代理对象
        SellHouseService target = new SellHouseOneService();
        //创建一个代理类：通过被代理类、被代理实现的接口、方法调用处理器来创建
        SellHouseService proxy = (SellHouseService) Proxy.newProxyInstance(
                target.getClass().getClassLoader(),
                new Class[]{SellHouseService.class},
                new JDKInvocationHandler(target)
        );
        proxy.sell();
    }
}
